home *** CD-ROM | disk | FTP | other *** search
/ Info-Mac 4 / Info_Mac IV CD-ROM (Pacific HiTech Inc.)(August 1994).iso / Development / General / DR1.#1 PPC C⁄C++ ƒ / MW C⁄C++ PPC 1.0a2 Notes < prev    next >
Text File  |  1994-02-10  |  4KB  |  85 lines

  1. Metrowerks C/C++ PowerPC Compiler Release Notes 
  2. =================================================
  3.  
  4. Version: 1.0a2
  5. Date:    February 7, 1994 
  6. Author:  John McEnerney
  7.  
  8. This version fixes a few bugs and adds some features that have been requested.
  9. It includes the following changes from the 1.0d12 version on the CD-ROM:
  10.  
  11. 1.    You can now import XCOFF shared libraries (e.g. Quicktime.xcoff) directly;
  12.     previously, you needed to use the makePEF tool to convert them to PEF format.
  13.  
  14.     When a shared library name is coped into the PEF executable, any extension
  15.     is stripped off, e.g. "Quicktime.xcoff" becomes "Quicktime" which must be
  16.     available at runtime.
  17.  
  18. 2.    "Weak" linking of imports from shared libraries is supported. If the name of
  19.     an imported shared library (PEF or XCOFF) begins with "~" (tilde) then the
  20.     library is not required to be present at runtime. Your program should check
  21.     the existence of the shared library before attempting to call any of its routines.
  22.     
  23.     (The naming convention is a admittedly a hack, but it was a quick & easy way
  24.     to support a needed feature without changing the environment or user interface)
  25.     
  26.     There is currently no mechanism for marking an individual name as "weak".
  27.  
  28. 3.    A linker bug which prevented a C++ program from providing its own operator new()
  29.     wchih supersedes the one in MWCRuntime.lib was fixed.
  30.  
  31. 4.    Some serious register allocation bugs with Global Optimization were fixed. If
  32.     any programs still crash with Global Optimization, please let me know ASAP.
  33.  
  34. 5.    The linker now retains the Finder icon location of an application and link map
  35.     when a program is relinked. Previously, the old files were deleted along with their
  36.     Finder info.
  37.  
  38. 6.    The +=, *=, /= and -= operators no longer give an Internal Compiler Error #6 when
  39.     the rhs is a floating-point type and the lhs is an integer. The PowerPC compiler
  40.     should now pass the ANSI conformance suite completely.
  41.  
  42. 7.    The code generator uses a more optimal ordering of the instructions in the prologue
  43.     and epilogue to avoid some load delays.
  44.  
  45. 8.    Some redundant sign- and zero-extensions have been eliminated in the generated code.
  46.  
  47. 9.    CMPLI and CMPI instructions are now eliminated when comparing with an immediate 0
  48.     following an instruction which has a record (Rc == 1) mode. This optimization
  49.     is only performed if "Peephole Optimization" is selected in the Preferences.
  50.  
  51. 10.    The linker now generates more compact PEF relocations for C++ vtables. This can
  52.     reduce the size of a final application measurably (saves 6K for the Muscle demo).
  53.  
  54. 11.    The code generator now optimizes BRA-BLR and BC-BLR sequences.
  55.  
  56. 12.    C++ pointers-to-members are now implemented. This version should implement the
  57.     C++ language exactly as MW C/C++ 68K 1.0a1, except that inline functions are
  58.     not inlined.
  59.  
  60. 13.    Several instruction scheduling bugs were fixed, and the scheduler was improved.
  61.  
  62. 14.    You can now interrupt the linker with Command-Period.
  63.  
  64. 15.    The Quickdraw globals "qd" are now defined in MWCRuntime.lib. If you are already
  65.     declaring them in your source code, you'll get a non-fatal linker warning.
  66.     
  67.     NOTE: You should replace the older MWCRuntime.o with the new MWCRuntime.lib.
  68.     
  69.     NOTE: This version will cause your Linker preferences to be reset to the factory
  70.     defaults. You should check your Linker preferences when opening a project.
  71.  
  72. 16.    A serious bug that occurred when copying large structs has been fixed; this
  73.     one usually only showed up with Global Optimization on.
  74.  
  75. 17.    Some minor bugs in the PEF container format were fixed. In addition, the linker
  76.     no longer outputs a 'SIZE'(-1) resource for a shared library.
  77.  
  78. This version is a candidate Alpha. Any serious bugs should be reported ASAP. We
  79. will arrange to have this version distributed widely if no serious bugs are found.
  80.  
  81.  
  82. John McEnerney, Metrowerks PowerPC Product Architect
  83. AppleLink: MCENERNEY
  84. Internet: johnmce@world.std.com
  85.